package objetos;

import interfaces.Atividade;

public class AtividadeDeAdicaoDeAmigo implements Atividade{
	private String nomeDoUsuario, nomeDoAmigo, template, idAtividade;
	
	
	public AtividadeDeAdicaoDeAmigo(String nomeDoUsuario, String nomeDoAmigo) throws Exception{
		setNomeDoUsuario(nomeDoUsuario);
		setNomeDoAmigo(nomeDoAmigo);
		setTemplate(criarTemplateDaAtividade());
	}
	
	@Override
	public String criarTemplateDaAtividade() {
		String template = getNomeDoUsuario() + " e " + getNomeDoAmigo() + " são amigos agora" ;
		return template;
	}

	@Override
	public String getTemplate() {
		return template;
	}
	
	public void setTemplate(String template) throws Exception{
		if(template== null || template.trim().isEmpty())
			throw new Exception("Template nao pode ser null ou vazio");
		this.template = template;
	}
	
	public String getNomeDoUsuario() {
		return nomeDoUsuario;
	}
	public void setNomeDoUsuario(String nomeDoUsuario) throws Exception {
		if(nomeDoUsuario== null || nomeDoUsuario.trim().isEmpty())
			throw new Exception("Nome do usuario nao pode ser null ou vazio");
		this.nomeDoUsuario = nomeDoUsuario;
	}
	public String getNomeDoAmigo() {
		return nomeDoAmigo;
	}
	public void setNomeDoAmigo(String nomeDoAmigo) throws Exception {
		if(nomeDoAmigo== null || nomeDoAmigo.trim().isEmpty())
			throw new Exception("Nome do amigo nao pode ser null ou vazio");
		this.nomeDoAmigo = nomeDoAmigo;
	}

	@Override
	public String getIdAtividade() {
		return idAtividade;
	}

	@Override
	public void setIdAtividade(String id) {
		this.idAtividade = id;
	}

	@Override
	public boolean equals(Object obj) {
		if(!(obj instanceof AtividadeDeAdicaoDeAmigo)){
			return false;
		}
		AtividadeDeAdicaoDeAmigo outro = (AtividadeDeAdicaoDeAmigo) obj;
		return (this.getNomeDoAmigo().equals(outro.getNomeDoAmigo()) 
			  && this.getNomeDoUsuario().equals(outro.getNomeDoUsuario()))||
			  (this.getNomeDoAmigo().equals(outro.getNomeDoUsuario()) 
			  && this.getNomeDoUsuario().equals(outro.getNomeDoAmigo()));
	}
	
}
